#pragma  once

extern "C"{
	#include <ntddk.h>		
}

VOID QInsertIrp (
				 __in PIO_CSQ Csq,
				 __in PIRP pIrp
				 );

VOID QRemoveIrp(
				__in PIO_CSQ Csq,
				__in PIRP pIrp
				);

PIRP QPeekNextIrp(
				  __in  PIO_CSQ Csq,
				  __in  PIRP    pIrp,
				  __in  PVOID  PeekContext
				  );

VOID QAcquireLock(
				  __in PIO_CSQ Csq,
				  __out PKIRQL  Irql
				  );

VOID QReleaseLock(
				  __in PIO_CSQ Csq,
				  __in KIRQL Irql
				  );


VOID QCompleteCanceledIrp(
						  __in  PIO_CSQ	pCsq,
						  __in  PIRP	pIrp
						  );